package proc;
/**
 * Interface implemented by BasicMFP 
 * See BasicFileWrap or programmer's guide for more details 
 * @author Dragon Slayers
 */
public interface FileWrap {

	/**
	 * Description: Checks that all the files that are passed as command line 
	 * arguments are valid input and output files.  All error reports are sent 
	 * to std.err. If the report-output file is valid, all errors will be sent 
	 * there as well, via the logger.
	 * @requires true
	 * @alters true
	 * @ensures true
	 * @return true iff primary-input file, auxiliary-input file, result-output 
	 * file, and report-output file are valid. Otherwise return false.
	 */
	public abstract boolean checkFiles();
	
	/**
	 * Description: Processes the Files. Calls processPrimaryFile from Class FileProcessor. 
	 * Refer to processPrimaryFile in Class FileProcessor in the Programmer's guide for the 
	 * description of this call.
	 * @requires All the input and output files must be valid.
	 * @alters true
	 * @ensures true
	 */
	public abstract void processFiles();

}